Virtualization abstracts physical resources to allow multiple virtual environments to share the physical resources. Virtual machines are virtual environments that are able to use allocated resources of a host to execute applications. A hypervisor functions as an interface between the physical resources and virtual machines and allows multiple virtual machines to run on the host. The hypervisor can run directly on hardware without an operating system or as an application running under a traditional operating system. That is, the hypervisor can emulate the underlying physical resource of the host devices.